var runtime.sched

426 uses

	runtime (current package)
		cgocall.go#L421: 	hz := sched.profilehz
		debug.go#L21: 	lock(&sched.lock)
		debug.go#L23: 	unlock(&sched.lock)
		debug.go#L56: 	total := sched.totalMutexWaitTime.Load()
		debug.go#L58: 	total += sched.totalRuntimeLockWaitTime.Load()
		debugcall.go#L247: 		lock(&sched.lock)
		debugcall.go#L249: 		unlock(&sched.lock)
		metrics.go#L321: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L447: 				sched.timeToRun.write(out)
		metrics.go#L452: 				sched.stwStoppingTimeGC.write(out)
		metrics.go#L457: 				sched.stwStoppingTimeOther.write(out)
		metrics.go#L462: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L467: 				sched.stwTotalTimeOther.write(out)
		mgc.go#L1120: 	sched.idleTime.Store(0)
		mgc.go#L1498: 						lock(&sched.lock)
		mgc.go#L1500: 						unlock(&sched.lock)
		mgc.go#L1811: 	lock(&sched.sudoglock)
		mgc.go#L1813: 	for sg = sched.sudogcache; sg != nil; sg = sgnext {
		mgc.go#L1817: 	sched.sudogcache = nil
		mgc.go#L1818: 	unlock(&sched.sudoglock)
		mgc.go#L1822: 	lock(&sched.deferlock)
		mgc.go#L1826: 	for d = sched.deferpool; d != nil; d = dlink {
		mgc.go#L1830: 	sched.deferpool = nil
		mgc.go#L1831: 	unlock(&sched.deferlock)
		mgclimit.go#L216: 				sched.idleTime.Add(duration)
		mgclimit.go#L477: 		sched.idleTime.Add(duration)
		mgcmark.go#L293: 	lock(&sched.gFree.lock)
		mgcmark.go#L294: 	list := sched.gFree.stack
		mgcmark.go#L295: 	sched.gFree.stack = gList{}
		mgcmark.go#L296: 	unlock(&sched.gFree.lock)
		mgcmark.go#L313: 	lock(&sched.gFree.lock)
		mgcmark.go#L314: 	sched.gFree.noStack.pushAll(q)
		mgcmark.go#L315: 	unlock(&sched.gFree.lock)
		mgcmark.go#L1183: 		for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mgcmark.go#L1205: 	for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mstats.go#L461: 		lock(&sched.sysmonlock)
		mstats.go#L501: 		unlock(&sched.sysmonlock)
		mstats.go#L975: 	s.TotalTime = sched.totaltime + (now-sched.procresizetime)*int64(gomaxprocs)
		mstats.go#L976: 	s.IdleTime += sched.idleTime.Load()
		panic.go#L525: 	if len(pp.deferpool) == 0 && sched.deferpool != nil {
		panic.go#L526: 		lock(&sched.deferlock)
		panic.go#L527: 		for len(pp.deferpool) < cap(pp.deferpool)/2 && sched.deferpool != nil {
		panic.go#L528: 			d := sched.deferpool
		panic.go#L529: 			sched.deferpool = d.link
		panic.go#L533: 		unlock(&sched.deferlock)
		panic.go#L584: 		lock(&sched.deferlock)
		panic.go#L585: 		last.link = sched.deferpool
		panic.go#L586: 		sched.deferpool = first
		panic.go#L587: 		unlock(&sched.deferlock)
		proc.go#L373: 	if !gp.preempt && sched.npidle.Load() > 0 {
		proc.go#L462: 		lock(&sched.sudoglock)
		proc.go#L464: 		for len(pp.sudogcache) < cap(pp.sudogcache)/2 && sched.sudogcache != nil {
		proc.go#L465: 			s := sched.sudogcache
		proc.go#L466: 			sched.sudogcache = s.next
		proc.go#L470: 		unlock(&sched.sudoglock)
		proc.go#L528: 		lock(&sched.sudoglock)
		proc.go#L529: 		last.next = sched.sudogcache
		proc.go#L530: 		sched.sudogcache = first
		proc.go#L531: 		unlock(&sched.sudoglock)
		proc.go#L783: 	lockInit(&sched.lock, lockRankSched)
		proc.go#L784: 	lockInit(&sched.sysmonlock, lockRankSysmon)
		proc.go#L785: 	lockInit(&sched.deferlock, lockRankDefer)
		proc.go#L786: 	lockInit(&sched.sudoglock, lockRankSudog)
		proc.go#L809: 	sched.maxmcount = 10000
		proc.go#L856: 	lock(&sched.lock)
		proc.go#L857: 	sched.lastpoll.Store(nanotime())
		proc.go#L865: 	unlock(&sched.lock)
		proc.go#L890: 	assertLockHeld(&sched.lock)
		proc.go#L901: 	if count > sched.maxmcount {
		proc.go#L902: 		print("runtime: program exceeds ", sched.maxmcount, "-thread limit\n")
		proc.go#L912: 	assertLockHeld(&sched.lock)
		proc.go#L914: 	if sched.mnext+1 < sched.mnext {
		proc.go#L917: 	id := sched.mnext
		proc.go#L918: 	sched.mnext++
		proc.go#L932: 	lock(&sched.lock)
		proc.go#L954: 	unlock(&sched.lock)
		proc.go#L999: 	sched.nmspinning.Add(1)
		proc.go#L1000: 	sched.needspinning.Store(0)
		proc.go#L1113: 		sched.stopwait = freezeStopWait
		proc.go#L1114: 		sched.gcwaiting.Store(true)
		proc.go#L1271: 		sched.totalMutexWaitTime.Add((now - gp.trackingStamp) * gTrackingPeriod)
		proc.go#L1293: 		sched.timeToRun.record(gp.runnableTime)
		proc.go#L1580: 	lock(&sched.lock)
		proc.go#L1582: 	sched.stopwait = gomaxprocs
		proc.go#L1583: 	sched.gcwaiting.Store(true)
		proc.go#L1588: 	sched.stopwait--
		proc.go#L1599: 			sched.stopwait--
		proc.go#L1615: 		sched.stopwait--
		proc.go#L1617: 	wait := sched.stopwait > 0
		proc.go#L1618: 	unlock(&sched.lock)
		proc.go#L1624: 			if notetsleep(&sched.stopnote, 100*1000) {
		proc.go#L1625: 				noteclear(&sched.stopnote)
		proc.go#L1635: 		sched.stwStoppingTimeGC.record(startTime)
		proc.go#L1637: 		sched.stwStoppingTimeOther.record(startTime)
		proc.go#L1646: 	if sched.stopwait != 0 {
		proc.go#L1700: 	lock(&sched.lock)
		proc.go#L1708: 	sched.gcwaiting.Store(false)
		proc.go#L1709: 	if sched.sysmonwait.Load() {
		proc.go#L1710: 		sched.sysmonwait.Store(false)
		proc.go#L1711: 		notewakeup(&sched.sysmonnote)
		proc.go#L1713: 	unlock(&sched.lock)
		proc.go#L1740: 		sched.stwTotalTimeGC.record(totalTime)
		proc.go#L1742: 		sched.stwTotalTimeOther.record(totalTime)
		proc.go#L1928: 		lock(&sched.lock)
		proc.go#L1929: 		sched.nmfreed++
		proc.go#L1931: 		unlock(&sched.lock)
		proc.go#L1950: 	lock(&sched.lock)
		proc.go#L1974: 	mp.freelink = sched.freem
		proc.go#L1975: 	sched.freem = mp
		proc.go#L1976: 	unlock(&sched.lock)
		proc.go#L1979: 	sched.totalRuntimeLockWaitTime.Add(mp.mLockProfile.waitTime.Load())
		proc.go#L1988: 	lock(&sched.lock)
		proc.go#L1989: 	sched.nmfreed++
		proc.go#L1991: 	unlock(&sched.lock)
		proc.go#L2069: 	lock(&sched.lock)
		proc.go#L2070: 	if sched.safePointWait != 0 {
		proc.go#L2073: 	sched.safePointWait = gomaxprocs - 1
		proc.go#L2074: 	sched.safePointFn = fn
		proc.go#L2090: 	for p := sched.pidle.ptr(); p != nil; p = p.link.ptr() {
		proc.go#L2093: 			sched.safePointWait--
		proc.go#L2097: 	wait := sched.safePointWait > 0
		proc.go#L2098: 	unlock(&sched.lock)
		proc.go#L2131: 			if notetsleep(&sched.safePointNote, 100*1000) {
		proc.go#L2132: 				noteclear(&sched.safePointNote)
		proc.go#L2138: 	if sched.safePointWait != 0 {
		proc.go#L2147: 	lock(&sched.lock)
		proc.go#L2148: 	sched.safePointFn = nil
		proc.go#L2149: 	unlock(&sched.lock)
		proc.go#L2172: 	sched.safePointFn(p)
		proc.go#L2173: 	lock(&sched.lock)
		proc.go#L2174: 	sched.safePointWait--
		proc.go#L2175: 	if sched.safePointWait == 0 {
		proc.go#L2176: 		notewakeup(&sched.safePointNote)
		proc.go#L2178: 	unlock(&sched.lock)
		proc.go#L2216: 	if sched.freem != nil {
		proc.go#L2217: 		lock(&sched.lock)
		proc.go#L2219: 		for freem := sched.freem; freem != nil; {
		proc.go#L2248: 		sched.freem = newList
		proc.go#L2249: 		unlock(&sched.lock)
		proc.go#L2385: 	sched.ngsys.Add(-1)
		proc.go#L2452: 	gp.goid = sched.goidgen.Add(1)
		proc.go#L2463: 	sched.ngsys.Add(1)
		proc.go#L2520: 	sched.ngsys.Add(1)
		proc.go#L2559: 		lock(&sched.lock)
		proc.go#L2561: 		unlock(&sched.lock)
		proc.go#L2882: 	lock(&sched.lock)
		proc.go#L2883: 	sched.nmsys++
		proc.go#L2885: 	unlock(&sched.lock)
		proc.go#L2923: 	lock(&sched.lock)
		proc.go#L2925: 	unlock(&sched.lock)
		proc.go#L2972: 		lock(&sched.lock)
		proc.go#L2984: 				unlock(&sched.lock)
		proc.go#L3007: 		unlock(&sched.lock)
		proc.go#L3017: 			lock(&sched.lock)
		proc.go#L3025: 		unlock(&sched.lock)
		proc.go#L3054: 	if !runqempty(pp) || sched.runqsize != 0 {
		proc.go#L3070: 	if sched.nmspinning.Load()+sched.npidle.Load() == 0 && sched.nmspinning.CompareAndSwap(0, 1) { // TODO: fast atomic
		proc.go#L3071: 		sched.needspinning.Store(0)
		proc.go#L3075: 	lock(&sched.lock)
		proc.go#L3076: 	if sched.gcwaiting.Load() {
		proc.go#L3079: 		sched.stopwait--
		proc.go#L3080: 		if sched.stopwait == 0 {
		proc.go#L3081: 			notewakeup(&sched.stopnote)
		proc.go#L3083: 		unlock(&sched.lock)
		proc.go#L3087: 		sched.safePointFn(pp)
		proc.go#L3088: 		sched.safePointWait--
		proc.go#L3089: 		if sched.safePointWait == 0 {
		proc.go#L3090: 			notewakeup(&sched.safePointNote)
		proc.go#L3093: 	if sched.runqsize != 0 {
		proc.go#L3094: 		unlock(&sched.lock)
		proc.go#L3100: 	if sched.npidle.Load() == gomaxprocs-1 && sched.lastpoll.Load() != 0 {
		proc.go#L3101: 		unlock(&sched.lock)
		proc.go#L3110: 	unlock(&sched.lock)
		proc.go#L3133: 	if sched.nmspinning.Load() != 0 || !sched.nmspinning.CompareAndSwap(0, 1) {
		proc.go#L3145: 	lock(&sched.lock)
		proc.go#L3148: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3151: 		unlock(&sched.lock)
		proc.go#L3159: 	unlock(&sched.lock)
		proc.go#L3217: 	if !sched.gcwaiting.Load() {
		proc.go#L3224: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3229: 	lock(&sched.lock)
		proc.go#L3232: 	sched.stopwait--
		proc.go#L3233: 	if sched.stopwait == 0 {
		proc.go#L3234: 		notewakeup(&sched.stopnote)
		proc.go#L3236: 	unlock(&sched.lock)
		proc.go#L3272: 	hz := sched.profilehz
		proc.go#L3304: 	if sched.gcwaiting.Load() {
		proc.go#L3344: 	if pp.schedtick%61 == 0 && sched.runqsize > 0 {
		proc.go#L3345: 		lock(&sched.lock)
		proc.go#L3347: 		unlock(&sched.lock)
		proc.go#L3369: 	if sched.runqsize != 0 {
		proc.go#L3370: 		lock(&sched.lock)
		proc.go#L3372: 		unlock(&sched.lock)
		proc.go#L3385: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3405: 	if mp.spinning || 2*sched.nmspinning.Load() < gomaxprocs-sched.npidle.Load() {
		proc.go#L3482: 	lock(&sched.lock)
		proc.go#L3483: 	if sched.gcwaiting.Load() || pp.runSafePointFn != 0 {
		proc.go#L3484: 		unlock(&sched.lock)
		proc.go#L3487: 	if sched.runqsize != 0 {
		proc.go#L3489: 		unlock(&sched.lock)
		proc.go#L3492: 	if !mp.spinning && sched.needspinning.Load() == 1 {
		proc.go#L3495: 		unlock(&sched.lock)
		proc.go#L3502: 	unlock(&sched.lock)
		proc.go#L3543: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3558: 		lock(&sched.lock)
		proc.go#L3559: 		if sched.runqsize != 0 {
		proc.go#L3566: 				unlock(&sched.lock)
		proc.go#L3572: 		unlock(&sched.lock)
		proc.go#L3611: 	if netpollinited() && (netpollAnyWaiters() || pollUntil != 0) && sched.lastpoll.Swap(0) != 0 {
		proc.go#L3612: 		sched.pollUntil.Store(pollUntil)
		proc.go#L3636: 		sched.pollUntil.Store(0)
		proc.go#L3637: 		sched.lastpoll.Store(now)
		proc.go#L3644: 		lock(&sched.lock)
		proc.go#L3646: 		unlock(&sched.lock)
		proc.go#L3670: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3684: 	if sched.runqsize != 0 {
		proc.go#L3691: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3717: 			if sched.gcwaiting.Load() {
		proc.go#L3784: 			lock(&sched.lock)
		proc.go#L3788: 				unlock(&sched.lock)
		proc.go#L3791: 			unlock(&sched.lock)
		proc.go#L3851: 	lock(&sched.lock)
		proc.go#L3854: 		unlock(&sched.lock)
		proc.go#L3861: 		unlock(&sched.lock)
		proc.go#L3868: 		unlock(&sched.lock)
		proc.go#L3873: 	unlock(&sched.lock)
		proc.go#L3882: 	if sched.lastpoll.Load() == 0 {
		proc.go#L3887: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3906: 	nmspinning := sched.nmspinning.Add(-1)
		proc.go#L3956: 			lock(&sched.lock)
		proc.go#L3960: 				unlock(&sched.lock)
		proc.go#L3966: 			unlock(&sched.lock)
		proc.go#L3973: 		lock(&sched.lock)
		proc.go#L3975: 		unlock(&sched.lock)
		proc.go#L3980: 	npidle := int(sched.npidle.Load())
		proc.go#L3990: 		lock(&sched.lock)
		proc.go#L3992: 		unlock(&sched.lock)
		proc.go#L4074: 	if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4078: 		lock(&sched.lock)
		proc.go#L4082: 			unlock(&sched.lock)
		proc.go#L4084: 			sched.disable.runnable.pushBack(gp)
		proc.go#L4085: 			sched.disable.n++
		proc.go#L4086: 			unlock(&sched.lock)
		proc.go#L4186: 	lock(&sched.lock)
		proc.go#L4188: 	unlock(&sched.lock)
		proc.go#L4336: 		sched.ngsys.Add(-1)
		proc.go#L4498: 	if sched.sysmonwait.Load() {
		proc.go#L4515: 	if sched.gcwaiting.Load() {
		proc.go#L4547: 	lock(&sched.lock)
		proc.go#L4548: 	if sched.sysmonwait.Load() {
		proc.go#L4549: 		sched.sysmonwait.Store(false)
		proc.go#L4550: 		notewakeup(&sched.sysmonnote)
		proc.go#L4552: 	unlock(&sched.lock)
		proc.go#L4559: 	lock(&sched.lock)
		proc.go#L4561: 	if sched.stopwait > 0 && atomic.Cas(&pp.status, _Psyscall, _Pgcstop) {
		proc.go#L4577: 		if sched.stopwait--; sched.stopwait == 0 {
		proc.go#L4578: 			notewakeup(&sched.stopnote)
		proc.go#L4583: 	unlock(&sched.lock)
		proc.go#L4736: 		if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4763: 	if sched.stopwait == freezeStopWait {
		proc.go#L4783: 	if sched.pidle != 0 {
		proc.go#L4819: 	lock(&sched.lock)
		proc.go#L4821: 	if pp != nil && sched.sysmonwait.Load() {
		proc.go#L4822: 		sched.sysmonwait.Store(false)
		proc.go#L4823: 		notewakeup(&sched.sysmonnote)
		proc.go#L4825: 	unlock(&sched.lock)
		proc.go#L4854: 	lock(&sched.lock)
		proc.go#L4869: 	} else if sched.sysmonwait.Load() {
		proc.go#L4870: 		sched.sysmonwait.Store(false)
		proc.go#L4871: 		notewakeup(&sched.sysmonnote)
		proc.go#L4873: 	unlock(&sched.lock)
		proc.go#L5095: 		sched.ngsys.Add(1)
		proc.go#L5129: 		pp.goidcache = sched.goidgen.Add(_GoidCacheBatch)
		proc.go#L5225: 		lock(&sched.gFree.lock)
		proc.go#L5226: 		sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5227: 		sched.gFree.stack.pushAll(stackQ)
		proc.go#L5228: 		sched.gFree.n += inc
		proc.go#L5229: 		unlock(&sched.gFree.lock)
		proc.go#L5237: 	if pp.gFree.empty() && (!sched.gFree.stack.empty() || !sched.gFree.noStack.empty()) {
		proc.go#L5238: 		lock(&sched.gFree.lock)
		proc.go#L5242: 			gp := sched.gFree.stack.pop()
		proc.go#L5244: 				gp = sched.gFree.noStack.pop()
		proc.go#L5249: 			sched.gFree.n--
		proc.go#L5253: 		unlock(&sched.gFree.lock)
		proc.go#L5309: 	lock(&sched.gFree.lock)
		proc.go#L5310: 	sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5311: 	sched.gFree.stack.pushAll(stackQ)
		proc.go#L5312: 	sched.gFree.n += inc
		proc.go#L5313: 	unlock(&sched.gFree.lock)
		proc.go#L5428: 	n := int32(atomic.Loaduintptr(&allglen)) - sched.gFree.n - sched.ngsys.Load()
		proc.go#L5442: 	return int32(sched.mnext - sched.nmfreed)
		proc.go#L5610: 	lock(&sched.lock)
		proc.go#L5611: 	sched.profilehz = hz
		proc.go#L5612: 	unlock(&sched.lock)
		proc.go#L5664: 	assertLockHeld(&sched.lock)
		proc.go#L5742: 	assertLockHeld(&sched.lock)
		proc.go#L5757: 	if sched.procresizetime != 0 {
		proc.go#L5758: 		sched.totaltime += int64(old) * (now - sched.procresizetime)
		proc.go#L5760: 	sched.procresizetime = now
		proc.go#L5969: 	lock(&sched.lock)
		proc.go#L5970: 	sched.nmidlelocked += v
		proc.go#L5974: 	unlock(&sched.lock)
		proc.go#L5981: 	assertLockHeld(&sched.lock)
		proc.go#L6007: 	run := mcount() - sched.nmidle - sched.nmidlelocked - sched.nmsys
		proc.go#L6012: 		print("runtime: checkdead: nmidle=", sched.nmidle, " nmidlelocked=", sched.nmidlelocked, " mcount=", mcount(), " nmsys=", sched.nmsys, "\n")
		proc.go#L6013: 		unlock(&sched.lock)
		proc.go#L6031: 			unlock(&sched.lock)
		proc.go#L6036: 		unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6050: 				unlock(&sched.lock)
		proc.go#L6057: 				unlock(&sched.lock)
		proc.go#L6063: 			sched.nmspinning.Add(1)
		proc.go#L6078: 	unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6102: 	lock(&sched.lock)
		proc.go#L6103: 	sched.nmsys++
		proc.go#L6105: 	unlock(&sched.lock)
		proc.go#L6138: 		if debug.schedtrace <= 0 && (sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs) {
		proc.go#L6139: 			lock(&sched.lock)
		proc.go#L6140: 			if sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs {
		proc.go#L6144: 					sched.sysmonwait.Store(true)
		proc.go#L6145: 					unlock(&sched.lock)
		proc.go#L6156: 					syscallWake = notetsleep(&sched.sysmonnote, sleep)
		proc.go#L6160: 					lock(&sched.lock)
		proc.go#L6161: 					sched.sysmonwait.Store(false)
		proc.go#L6162: 					noteclear(&sched.sysmonnote)
		proc.go#L6169: 			unlock(&sched.lock)
		proc.go#L6172: 		lock(&sched.sysmonlock)
		proc.go#L6182: 		lastpoll := sched.lastpoll.Load()
		proc.go#L6184: 			sched.lastpoll.CompareAndSwap(lastpoll, now)
		proc.go#L6244: 		unlock(&sched.sysmonlock)
		proc.go#L6304: 			if runqempty(pp) && sched.nmspinning.Load()+sched.npidle.Load() > 0 && pd.syscallwhen+10*1000*1000 > now {
		proc.go#L6397: 	lock(&sched.lock)
		proc.go#L6398: 	print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle.Load(), " threads=", mcount(), " spinningthreads=", sched.nmspinning.Load(), " needspinning=", sched.needspinning.Load(), " idlethreads=", sched.nmidle, " runqueue=", sched.runqsize)
		proc.go#L6400: 		print(" gcwaiting=", sched.gcwaiting.Load(), " nmidlelocked=", sched.nmidlelocked, " stopwait=", sched.stopwait, " sysmonwait=", sched.sysmonwait.Load(), "\n")
		proc.go#L6432: 		unlock(&sched.lock)
		proc.go#L6474: 	unlock(&sched.lock)
		proc.go#L6483: 	lock(&sched.lock)
		proc.go#L6484: 	if sched.disable.user == !enable {
		proc.go#L6485: 		unlock(&sched.lock)
		proc.go#L6488: 	sched.disable.user = !enable
		proc.go#L6490: 		n := sched.disable.n
		proc.go#L6491: 		sched.disable.n = 0
		proc.go#L6492: 		globrunqputbatch(&sched.disable.runnable, n)
		proc.go#L6493: 		unlock(&sched.lock)
		proc.go#L6494: 		for ; n != 0 && sched.npidle.Load() != 0; n-- {
		proc.go#L6498: 		unlock(&sched.lock)
		proc.go#L6507: 	assertLockHeld(&sched.lock)
		proc.go#L6509: 	if sched.disable.user {
		proc.go#L6521: 	assertLockHeld(&sched.lock)
		proc.go#L6523: 	mp.schedlink = sched.midle
		proc.go#L6524: 	sched.midle.set(mp)
		proc.go#L6525: 	sched.nmidle++
		proc.go#L6535: 	assertLockHeld(&sched.lock)
		proc.go#L6537: 	mp := sched.midle.ptr()
		proc.go#L6539: 		sched.midle = mp.schedlink
		proc.go#L6540: 		sched.nmidle--
		proc.go#L6551: 	assertLockHeld(&sched.lock)
		proc.go#L6553: 	sched.runq.pushBack(gp)
		proc.go#L6554: 	sched.runqsize++
		proc.go#L6563: 	assertLockHeld(&sched.lock)
		proc.go#L6565: 	sched.runq.push(gp)
		proc.go#L6566: 	sched.runqsize++
		proc.go#L6576: 	assertLockHeld(&sched.lock)
		proc.go#L6578: 	sched.runq.pushBackAll(*batch)
		proc.go#L6579: 	sched.runqsize += n
		proc.go#L6586: 	assertLockHeld(&sched.lock)
		proc.go#L6588: 	if sched.runqsize == 0 {
		proc.go#L6592: 	n := sched.runqsize/gomaxprocs + 1
		proc.go#L6593: 	if n > sched.runqsize {
		proc.go#L6594: 		n = sched.runqsize
		proc.go#L6603: 	sched.runqsize -= n
		proc.go#L6605: 	gp := sched.runq.pop()
		proc.go#L6608: 		gp1 := sched.runq.pop()
		proc.go#L6650: 	assertLockHeld(&sched.lock)
		proc.go#L6662: 	pp.link = sched.pidle
		proc.go#L6663: 	sched.pidle.set(pp)
		proc.go#L6664: 	sched.npidle.Add(1)
		proc.go#L6679: 	assertLockHeld(&sched.lock)
		proc.go#L6681: 	pp := sched.pidle.ptr()
		proc.go#L6689: 		sched.pidle = pp.link
		proc.go#L6690: 		sched.npidle.Add(-1)
		proc.go#L6707: 	assertLockHeld(&sched.lock)
		proc.go#L6714: 		sched.needspinning.Store(1)
		proc.go#L6833: 	lock(&sched.lock)
		proc.go#L6835: 	unlock(&sched.lock)
		proc.go#L6867: 		lock(&sched.lock)
		proc.go#L6869: 		unlock(&sched.lock)
		proc.go#L7120: 	lock(&sched.lock)
		proc.go#L7121: 	out = int(sched.maxmcount)
		proc.go#L7123: 		sched.maxmcount = 0x7fffffff
		proc.go#L7125: 		sched.maxmcount = int32(in)
		proc.go#L7128: 	unlock(&sched.lock)
		proc.go#L7213: 	if i >= active_spin || ncpu <= 1 || gomaxprocs <= sched.npidle.Load()+sched.nmspinning.Load()+1 {
		runtime2.go#L1185: 	sched      schedt
		trace.go#L228: 	lock(&sched.sysmonlock)
		trace.go#L305: 	unlock(&sched.sysmonlock)
		trace.go#L490: 	lock(&sched.lock)
		trace.go#L495: 	for mp := sched.freem; mp != nil; mp = mp.freelink {
		trace.go#L499: 	unlock(&sched.lock)
		traceruntime.go#L710: 	assertLockHeld(&sched.lock)